package com.luncheng.mcp.core.model;

import com.luncheng.mcp.core.enums.TransportTypeEnum;
import lombok.Builder;
import lombok.Data;

import java.util.Map;

@Data
@Builder
public class McpClientConfig {
    /**
     * 客户端配置名称
     */
    private String name;

    /**
     * 传输协议类型：stdio、sse、http
     */
    private TransportTypeEnum transportType;

    /**
     * 请求超时时间（秒）
     */
    private Integer requestTimeout = 3600;

    /*-------------------------------Stdio参数-------------------------------*/
    /**
     * 标准输入输出命令
     */
    private String command;

    /**
     * 标准输入输出参数
     */
    private String[] stdioArgs;

    /**
     * 标准输入输出环境
     */
    private Map<String, String> env;

    /*-------------------------------SSE和HTTP参数-------------------------------*/
    /**
     * SSE和HTTP协议服务器Host
     */
    private String serverHost;

    /**
     * SSE和HTTP协议请求端点。
     */
    private String sseEndpoint;

    /**
     * SSE和HTTP协议请求路径参数。
     */
    private Map<String, String> params;

    /**
     * SSE和HTTP协议请求头参数。
     */
    private Map<String, String> headers;
}